home *** CD-ROM | disk | FTP | other *** search
Java Source | 1996-09-20 | 4.7 KB | 194 lines |
- //----------------------------------------------------------------------------
- //
- // Module: simpleselect.java
- //
- // Description: Test program for ODBC API interface. This java application
- // will connection to a JDBC driver, issue a select statement
- // and display all result columns and rows
- //
- // Product: JDBC to ODBC Bridge
- //
- // Author: Karl Moss
- //
- // Date: February, 1996
- //
- // Copyright: 1990-1996 INTERSOLV, Inc.
- // This software contains confidential and proprietary
- // information of INTERSOLV, Inc.
- //----------------------------------------------------------------------------
-
- import java.net.URL;
- import java.sql.*;
-
- class simpleselect {
-
- public static void main (String args[]) {
-
- String url = "jdbc:odbc:my-dsn";
- String query = "SELECT * FROM emp";
-
- try {
-
- // Load the jdbc-odbc bridge driver
-
- Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
-
- // Attempt to connect to a driver. Each one
- // of the registered drivers will be loaded until
- // one is found that can process this URL
-
- Connection con = DriverManager.getConnection (
- url, "my-user", "my-passwd");
-
- // If we were unable to connect, an exception
- // would have been thrown. So, if we get here,
- // we are successfully connected to the URL
-
- // Check for, and display and warnings generated
- // by the connect.
-
- checkForWarning (con.getWarnings ());
-
- // Get the DatabaseMetaData object and display
- // some information about the connection
-
- DatabaseMetaData dma = con.getMetaData ();
-
- System.out.println("\nConnected to " + dma.getURL());
- System.out.println("Driver " +
- dma.getDriverName());
- System.out.println("Version " +
- dma.getDriverVersion());
- System.out.println("");
-
- // Create a Statement object so we can submit
- // SQL statements to the driver
-
- Statement stmt = con.createStatement ();
-
- // Submit a query, creating a ResultSet object
-
- ResultSet rs = stmt.executeQuery (query);
-
- // Display all columns and rows from the result set
-
- dispResultSet (rs);
-
- // Close the result set
-
- rs.close();
-
- // Close the statement
-
- stmt.close();
-
- // Close the connection
-
- con.close();
- }
- catch (SQLException ex) {
-
- // A SQLException was generated. Catch it and
- // display the error information. Note that there
- // could be multiple error objects chained
- // together
-
- System.out.println ("\n*** SQLException caught ***\n");
-
- while (ex != null) {
- System.out.println ("SQLState: " +
- ex.getSQLState ());
- System.out.println ("Message: " +
- ex.getMessage ());
- System.out.println ("Vendor: " +
- ex.getErrorCode ());
- ex = ex.getNextException ();
- System.out.println ("");
- }
- }
- catch (java.lang.Exception ex) {
-
- // Got some other type of exception. Dump it.
-
- ex.printStackTrace ();
- }
- }
-
- //-------------------------------------------------------------------
- // checkForWarning
- // Checks for and displays warnings. Returns true if a warning
- // existed
- //-------------------------------------------------------------------
-
- private static boolean checkForWarning (SQLWarning warn)
- throws SQLException
- {
- boolean rc = false;
-
- // If a SQLWarning object was given, display the
- // warning messages. Note that there could be
- // multiple warnings chained together
-
- if (warn != null) {
- System.out.println ("\n *** Warning ***\n");
- rc = true;
- while (warn != null) {
- System.out.println ("SQLState: " +
- warn.getSQLState ());
- System.out.println ("Message: " +
- warn.getMessage ());
- System.out.println ("Vendor: " +
- warn.getErrorCode ());
- System.out.println ("");
- warn = warn.getNextWarning ();
- }
- }
- return rc;
- }
-
- //-------------------------------------------------------------------
- // dispResultSet
- // Displays all columns and rows in the given result set
- //-------------------------------------------------------------------
-
- private static void dispResultSet (ResultSet rs)
- throws SQLException
- {
- int i;
-
- // Get the ResultSetMetaData. This will be used for
- // the column headings
-
- ResultSetMetaData rsmd = rs.getMetaData ();
-
- // Get the number of columns in the result set
-
- int numCols = rsmd.getColumnCount ();
-
- // Display column headings
-
- for (i=1; i<=numCols; i++) {
- if (i > 1) System.out.print(",");
- System.out.print(rsmd.getColumnLabel(i));
- }
- System.out.println("");
-
- // Display data, fetching until end of the result set
-
- while (rs.next ()) {
-
- // Loop through each column, getting the
- // column data and displaying
-
- for (i=1; i<=numCols; i++) {
- if (i > 1) System.out.print(",");
- System.out.print(rs.getString(i));
- }
- System.out.println("");
-
- // Fetch the next result set row
-
- }
- }
- }
-